const { ClickHouse } = require('clickhouse')

// 从环境变量加载配置
const chConfig = {
  host: process.env.CH_HOST,
  port: process.env.CH_PORT,
  protocol: process.env.PROTOCOL,
  user: process.env.CH_USER,
  password: process.env.CH_PASSWORD,
  database: process.env.CH_DATABASE,
  timeout: 30000, // 请求超时时间（ms）
}

// 创建 ClickHouse 客户端实例
const clickhouse = new ClickHouse(chConfig)

// 测试连接（启动时验证）
clickhouse
  .query('SELECT 1 AS test')
  .toPromise()
  .then((res) => console.log('✅ ClickHouse 连接成功'))
  .catch((err) => {
    console.error('❌ ClickHouse 连接失败:', err.message)
    process.exit(1) // 连接失败直接退出进程
  })

module.exports = clickhouse
